Analyzing messages and/or documents to provide suggestions to modify messages and/or documents to be more suitable for intended recipients

ABSTRACT

A method, system and computer program product for assisting authors in composing suitable messages or documents for intended recipients. A profile to be used in analyzing the message/document is obtained, where the profile contains a set of corrections and correlations to be applied to the message/document for the intended recipients of the message/document. The content of the message/document is analyzed using the obtained profile to assess for any language that may be misunderstood or offensive to the intended recipients. Upon identifying words, phrases, sentences or images in the message/document as being potentially misunderstood or offensive to the recipients, suggestions are provided to modify such language. In this manner, the author of the message/document is able to assess the content and context of the message/document based on the intended recipients prior to sending the message/document thereby reducing the likelihood that the recipients will interpret the message/document in an untoward manner.

TECHNICAL FIELD

The present invention relates generally to communications, and moreparticularly to analyzing messages and/or documents to providesuggestions to modify messages and/or documents to be more suitable forthe intended recipients.

BACKGROUND

There are various forms of communication between users of a computingdevice, such as via electronic mail (“e-mail”), instant messaging,social media (e.g., social networking sites), text messaging, etc.Oftentimes, messages or documents (e.g., word processing document) arecomposed and distributed to recipients in such a manner without fullyunderstanding how the recipients will interpret the message or document.Due to the recipient's job role, cultural background or other externalfactors, the recipient may misunderstand, or in the worst case, beoffended from the message/document (the phrase “message/document” asused herein refers to “message or document”). While applications havebeen developed to assist the author in constructing the message ordocument, such as checking for spelling (spell checker), checking forgrammar correctness (grammar checker) and providing a list of wordssimilar in meaning to an inputted word (thesaurus), such tools do notallow the author to assess the content and context of themessage/document based on the intended recipients, such as based on therecipient's job role or cultural background. As a result of not beingable to assess the content and context of the message/document based onthe intended recipients prior to sending the message/document, themessage/document may be interpreted by the recipients in an untowardmanner.

BRIEF SUMMARY

In one embodiment of the present invention, a method for assistingauthors in composing suitable messages or documents for intendedrecipients comprises identifying one or more recipients to receive amessage or document. The method further comprises obtaining a profile tobe used in analyzing the message or document to be sent to the one ormore recipients, where the profile comprises a set of corrections andcorrelations to be applied to the message or document. Furthermore, themethod comprises analyzing, by a processor, content of the message ordocument using the obtained profile. Additionally, the method comprisesidentifying one or more words, phrases, sentences or images in themessage or document that are potentially misunderstood or offensive tothe one or more recipients. In addition, the method comprises providingone or more suggestions to modify the identified one or more words,phrases, sentences or images in the message or document to no longer bemisunderstood or offensive to the one or more recipients.

Other forms of the embodiment of the method described above are in asystem and in a computer program product.

The foregoing has outlined rather generally the features and technicaladvantages of one or more embodiments of the present invention in orderthat the detailed description of the present invention that follows maybe better understood. Additional features and advantages of the presentinvention will be described hereinafter which may form the subject ofthe claims of the present invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A better understanding of the present invention can be obtained when thefollowing detailed description is considered in conjunction with thefollowing drawings, in which:

FIG. 1 illustrates a communication system configured in accordance withan embodiment of the present invention;

FIG. 2 illustrates a hardware configuration of an analyzer in accordancewith an embodiment of the present invention; and

FIGS. 3A-3B are a flowchart of a method for assisting authors to ensurethat the messages/documents created by the author are understandable andnot offensive to the intended recipients in accordance with anembodiment of the present invention.

DETAILED DESCRIPTION

The present invention comprises a method, system and computer programproduct for assisting authors in composing suitable messages ordocuments for the intended recipients. In one embodiment of the presentinvention, the recipients intended to receive a message (e.g., e-mail)or document (e.g., word processing document) are identified prior to theauthor sending the message/document to the recipients. A profile to beused in analyzing the message or document to be sent to these recipientsis obtained, where the profile contains a set of corrections andcorrelations to be applied to the message or document. The content ofthe message or document is analyzed using the obtained profile to assessfor any language that may be misunderstood or offensive to the intendedrecipients. Upon identifying words, phrases, sentences or images in themessage or document as being potentially misunderstood or offensive tothe recipients, suggestions are provided to modify the words, phrases,sentences or images in the message or document identified as beingpotentially misunderstood or offensive to the recipients. In thismanner, the author of the message or document is able to assess thecontent and context of the message/document based on the intendedrecipients prior to sending the message/document thereby reducing thelikelihood that the recipients will interpret the message/document in anuntoward manner.

In the following description, numerous specific details are set forth toprovide a thorough understanding of the present invention. However, itwill be apparent to those skilled in the art that the present inventionmay be practiced without such specific details. In other instances,well-known circuits have been shown in block diagram form in order notto obscure the present invention in unnecessary detail. For the mostpart, details considering timing considerations and the like have beenomitted inasmuch as such details are not necessary to obtain a completeunderstanding of the present invention and are within the skills ofpersons of ordinary skill in the relevant art.

Referring now to the Figures in detail, FIG. 1 illustrates acommunication system 100 for practicing the principles of the presentinvention in accordance with an embodiment of the present invention.Communication system 100 includes client devices 101A-101C (identifiedas “Client Device A,” “Client Device B,” and “Client Device C,”respectively, in FIG. 1) connected to a server 102 via a network 103.Client devices 101A-101C may collectively or individually be referred toas client devices 101 or client device 101, respectively. Client device101 may be any type of computing device (e.g., portable computing unit,Personal Digital Assistant (PDA), smartphone, laptop computer, mobilephone, navigation device, game console, desktop computer system,workstation, Internet appliance and the like) configured with thecapability of connecting to network 103 and consequently communicatingwith other client devices 101 and server 102. Client device 101 may beconfigured to send and receive text-based messages in real-time duringan instant messaging session. Any user of client device 101 may be thecreator or initiator of an instant message (message in instantmessaging) and any user of client device 101 may be a recipient of aninstant message. Furthermore, any user of client device 101 may be ableto create, receive and send e-mails. Additionally, any user of clientdevice 101 may be able to send and receive text messages, such as ShortMessage Services (SMS) messages. Furthermore, any user of client device101 may be able to send documents (e.g., word processing documents),such as those stored in database 104 connected to network 103, to otherclient devices 101.

Network 103 may be, for example, a local area network, a wide areanetwork, a wireless wide area network, a circuit-switched telephonenetwork, a Global System for Mobile Communications (GSM) network,Wireless Application Protocol (WAP) network, a WiFi network, an IEEE802.11 standards network, various combinations thereof, etc. Othernetworks, whose descriptions are omitted here for brevity, may also beused in conjunction with system 100 of FIG. 1 without departing from thescope of the present invention.

In communication system 100, client devices 101A-101C include a softwareagent, referred to herein as an Instant Messaging (IM) client 105A-105C,respectively. Instant messaging clients 105A-105C may collectively orindividually be referred to as instant messaging clients 105 or instantmessaging client 105, respectively. Furthermore, server 102 includes asoftware agent, referred to herein as the Instant Messaging (IM) server106. IM client 105 provides the functionality to send and receiveinstant messages. As messages are received, IM client 105 presents themessages to the user in a dialog window (or IM window). Furthermore, IMclient 105 provides the functionality for client device 101 to connectto the IM server 106 which provides the functionality of distributingthe instant messages to the IM clients 105 associated with each of thesharing users.

Client devices 101A-101C may further include a software agent, referredto herein as an e-mail client agent 107A-107C, respectively. E-mailclient agents 107A-107C may collectively or individually be referred toas e-mail client agents 107 or e-mail client agent 107, respectively.Furthermore, server 102 may include a software agent, referred to hereinas the e-mail server agent 108. E-mail client agent 107 enables the userof client device 101 to create, send and receive e-mails. E-mail serveragent 108 is configured to receive e-mail messages from client devices101 and distribute the received e-mail messages among the one or moreclient devices 101.

While the preceding description discusses each client device 101 asincluding an IM client 105 and an e-mail client agent 107, each clientdevice 101 may not necessarily include each of these software agents.For example, some client devices 101 may only include an IM client 105;whereas, other client devices 101 may only include an e-mail clientagent 107. In other words, each client device 101 may be able to performsome or all of the functions discussed herein, such as sending/receivinge-mails, sending/receiving instant messages, sending/receiving textmessages, etc. Furthermore, while the preceding description discusses asingle server 102 including the software agents, such as IM server 106and e-mail server agent 108, multiple servers may be used to implementthese services. Furthermore, each server 102 may not necessarily beconfigured to include all of these software agents, but only a subset ofthese software agents. For example, one particular server 102 may onlyinclude IM server 106; whereas, another particular server 102 may onlyinclude e-mail server agent 108.

System 100 further includes a Short Message Service (SMC) center 109configured to relay, store and forward text messages, such as SMSmessages, among client devices 101 through network 103.

System 100 further includes a social network server 110, which may be aweb server configured to offer a social networking and/or microbloggingservice, enabling users of client devices 101 to send and read otherusers' posts. “Posts,” as used herein, include any one or more of thefollowing: text (e.g., comments, sub-comments and replies), audio, videoimages, etc. Social network server 110 is connected to network 103 bywire or wirelessly. While FIG. 1 illustrates a single social networkserver 110, it is noted for clarity that multiple servers may be used toimplement the social networking and/or microblogging service.

System 100 further includes a data store 111 configured to store“profiles” used in analyzing the messages or documents to be sent tointended recipients to ensure that these messages/documents areunderstandable and not offensive to the intended recipients. Theseprofiles include a set of corrections and correlations that are to beapplied to the messages/documents as discussed further below. Data store111 may be connected to network 103 either by wire or wirelessly.

Furthermore, system 100 includes an analyzer 112 connected to network103 by wire or wirelessly. Analyzer 112 is configured to assist authorsin composing suitable messages or documents for the intended recipients.That is, analyzer 112 is configured to assist authors to avoid usinglanguage that would be misunderstood, or at worst be offensive, to theintended recipients as discussed further below. In one embodiment,analyzer 112 may be utilized by multiple users of client devices 101.While the following description discusses analyzer 112 as being a unitutilized by multiple users of client devices 101, the principles of thepresent invention are not to be limited to such an architecture.Instead, the software used to assist authors to ensure that themessages/documents created by the author are understandable and notoffensive to the intended recipients, as discussed further below, mayreside within client device 101 of a single end user as opposed toresiding within analyzer 112. A description of the hardwareconfiguration of analyzer 112 is provided below in connection with FIG.2.

System 100 is not to be limited in scope to any one particular networkarchitecture. System 100 may include any number of client devices 101,servers 102, networks 103, databases 104, SMS centers 109, socialnetwork servers 110, data stores 111 and analyzers 112.

Referring now to FIG. 2, FIG. 2 illustrates a hardware configuration ofanalyzer 112 (FIG. 1) which is representative of a hardware environmentfor practicing the present invention. Referring to FIG. 2, analyzer 112has a processor 201 coupled to various other components by system bus202. An operating system 203 runs on processor 201 and provides controland coordinates the functions of the various components of FIG. 2. Anapplication 204 in accordance with the principles of the presentinvention runs in conjunction with operating system 203 and providescalls to operating system 203 where the calls implement the variousfunctions or services to be performed by application 204. Application204 may include, for example, a program for assisting authors to ensurethat the messages/documents created by the author are understandable andnot offensive to the intended recipients as discussed further below inassociation with FIGS. 3A-3B.

Referring again to FIG. 2, read-only memory (“ROM”) 205 is coupled tosystem bus 202 and includes a basic input/output system (“BIOS”) thatcontrols certain basic functions of analyzer 112. Random access memory(“RAM”) 206 and disk adapter 207 are also coupled to system bus 202. Itshould be noted that software components including operating system 203and application 204 may be loaded into RAM 206, which may be analyzer's112 main memory for execution. Disk adapter 207 may be an integrateddrive electronics (“IDE”) adapter that communicates with a disk unit208, e.g., disk drive. It is noted that the program for assistingauthors to ensure that the messages/documents created by the author areunderstandable and not offensive to the intended recipients, asdiscussed further below in association with FIGS. 3A-3B, may reside indisk unit 208 or in application 204.

Analyzer 112 may further include a communications adapter 209 coupled tobus 202. Communications adapter 209 interconnects bus 202 with anoutside network (network 103 of FIG. 1) thereby enabling analyzer 112 tocommunicate with client devices 101.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

As stated in the Background section, there are various forms ofcommunication between users of a computing device, such as viaelectronic mail (“e-mail”), instant messaging, social media (e.g.,social networking sites), text messaging, etc., Oftentimes, messages ordocuments (e.g., word processing document) are composed and distributedto recipients in such a manner without fully understanding how therecipients will interpret the message or document. Due to therecipient's job role, cultural background or other external factors, therecipient may misunderstand, or in the worst case, be offended from themessage/document (the phrase “message/document” as used herein refers to“message or document”). While applications have been developed to assistthe author in constructing the message or document, such as checking forspelling (spell checker), checking for grammar correctness (grammarchecker) and providing a list of words similar in meaning to an inputtedword (thesaurus), such tools do not allow the author to assess thecontent and context of the message/document based on the intendedrecipients, such as based on the recipient's job role or culturalbackground. As a result of not being able to assess the content andcontext of the message/document based on the intended recipients priorto sending the message/document, the message/document may be interpretedby the recipients in an untoward manner.

The principles of the present invention provide a means for allowing theauthor of a message or document to assess the content and context of themessage/document based on the intended recipients prior to sending themessage/document thereby reducing the likelihood that the recipientswill interpret the message/document in an untoward manner as discussedfurther below in connection with FIGS. 3A-3B.

FIGS. 3A-3B are a flowchart of a method 300 for assisting authors (e.g.,user of client device 101A) to ensure that the messages/documentscreated by the author are understandable and not offensive to theintended recipients in accordance with an embodiment of the presentinvention.

Referring to FIG. 3A, in conjunction with FIG. 1-2, in step 301,analyzer 112 identifies the recipients to receive a message or documentcreated by the author (e.g., user of client device 101A) prior to theauthor sending the message/document to the recipients. A “message,” asused herein includes any form of text communication, including, but notlimited to, e-mail, instant message, post, SMS message, etc. A“document,” as used herein, refers to a written or drawn representationof thoughts, such as a word processing document. In one embodiment,analyzer 112 is configured to scan the recipient list (e.g., TO field,CC field, BCC field) of the message (e.g., e-mail, instant message) toidentify the recipients of the message being created by the author(e.g., user of client device 101A). In another embodiment, analyzer 112is configured to generate a prompt to be displayed to the author (e.g.,prompt is displayed on the display of client device 101A) requesting theauthor to provide the recipients to receive the composed message ordocument.

In step 302, analyzer 112 obtains the roles (e.g., parent, teacher,friend, boss, sibling) of the recipients to receive the message/documentcreated by the author. In one embodiment, analyzer 112 obtains the rolesof the recipients (e.g., executive, manager, peer colleague) byperforming a look-up of the recipients, such as via social mediawebsites, such as LinkedIn®. In another embodiment, analyzer 112 obtainsthe roles of the recipients by performing a lookup in an employeedirectory. In another embodiment, analyzer 112 is configured to generatea prompt to be displayed to the author (e.g., prompt is displayed on thedisplay of client device 101A) requesting the author to provide theroles of the recipients to receive the composed message or document.

In step 303, a determination is made by analyzer 112 as to whether thereis a stored profile associated with the obtained role. A “profile,” asused herein refers to a set of corrections and correlations that are tobe applied to the messages/documents. These profiles are used byanalyzer 112 to identify any language that may be misunderstood, or inthe worst case be offensive, to the intended recipients. In oneembodiment, these profiles are customizable and are able to be updatedto provide a more accurate assessment as to whether there exists anylanguage in the message/document that may be misunderstood or offensive.For example, in one embodiment, “formal” and “informal” profiles may beprovided to the user for customization. “Formal” profiles refer toprofiles that include pre-determined words or phrases that may not beappropriate when communicating in a formal sense. For example, commonphrases, such as “beef up” would be flagged, such as in the sentence,“Let's beef up test coverage.” A suggestion that may be provided by theformal profile, as discussed further below, is to state “enhance testcoverage” as opposed to “beef up test coverage.” If an appropriatesuggestion is not found in the profile to replace the flaggedword/phrase, then the author may be presented with an opportunity toprovide a replacement for the flagged word/phrase. If a replacement ismade, the profile would store this correction and provide the correctedword on the next encounter. Formal profiles may also be used to insertphrases or expressions to improve the meaning of the author's thought toreduce any confusion.

Furthermore, the “formal” profile may be further customized by allowingthe user (e.g., user of client device 101A) to copy it and rename it(e.g., “executive profile”) and add more phrases and corrections thatare specific to communicating with executives. The executive profilewould grow and become customized based on remembering correction choicesthat the user makes while using this profile. As a result, the profilewill effectively grow in intelligence and accuracy.

Informal profiles, on the other hand, refer to profiles that includepre-determined words or phrases that may not be appropriate whencommunicating in an informal sense. These informal profiles may becustomized in a similar manner as customizing formal profiles asdiscussed above. Furthermore, informal profiles, as with formalprofiles, may be used to insert phrases or expressions to improve themeaning of the author's thought to reduce any confusion. For example, acompany marketing towards the demographic market of teenagers may startusing an informal profile and adapting the profile to use phrases andterms that a teenager may use, such as “my bad” for “my mistake” or“chillin'” for “relaxing.” As the profile is populated with morecorrections, the profile will effectively grow in intelligence andaccuracy.

In one embodiment, the profiles, as discussed above, may be stored indata store 111. As discussed above, analyzer 112 determines whetherthere is a stored profile for the recipients with the obtained role instep 303. For example, if a role for a recipient(s) is an executive,then analyzer 112 will search data store 111 for a profile pertaining toexecutives.

If there is not a stored profile for the received role (e.g., manager),then, in step 304, analyzer 112 prompts the user (e.g., user of clientdevice 101A) to provide or select the appropriate profile. In oneembodiment, various profiles stored in data store 111 are provided tothe user, and the user selects one of these profiles to be used inassessing the suitability for sending the message/document to thoserecipient(s).

In step 305, analyzer 112 receives the requested/selected profile fromthe user.

If, however, there is a stored profile associated with the received role(e.g., manager), then, in step 306, analyzer 112 retrieves the profile(e.g., manager profile) from data store 111 to be used in analyzing themessage/document to be sent to the recipient(s) with such a role. To beclear, since the intended recipients (recipients identified in step 301)may be assigned different roles, analyzer 112 may obtain differentprofiles to be used among the various recipients. Steps 303-306 are tobe implemented by analyzer 112 for each role assigned to one or more ofthe recipients identified in step 301. Steps 307-316, as discussedbelow, are to be implemented by analyzer 112 for each profile obtainedfor the appropriate recipients. Furthermore, while the discussion ofmethod 300 includes a step pertaining to obtaining a role of therecipients, the principles of the present invention are not to belimited as requiring such a step. For example, the author of themessage/document may simply provide or select a profile to be used inassessing the suitability for sending the message/document to theidentified recipient(s) (where analyzer 112 or the user may identify therecipients to receive the message/document that will be assessed usingthe provided/selected profile).

Upon receiving the requested profile from the user in step 305 or uponretrieving the profile to be used in analyzing the message/document tobe sent to the recipient(s) with such a role in step 306, analyzer 112determines whether the message or document to be sent to the targetedrecipient(s) is in response to a received message or document in step307. Oftentimes, when communicating between individuals, it is helpfulto communicate in a similar linguistic “tone” or language, such as usingsimilar grammar choices and vocabulary. As a result, it may bebeneficial to assess the original message or document for words, phrasesand tones used. For example, if a message is received by a user ofclient device 101, such as an e-mail message, then when the user selectsto “reply” to the original message, the original message may be analyzedfor the words, phrases and tones used. Analyzer 112 may then analyze thecontent of the message/document to be sent to the recipients identifiedin step 301 using the profile in light of the context of the originalmessage/document as discussed further below. For example, the user maybe presented with possible corrections based on the context of theoriginal message/document. The user's response to these presentedcorrections (e.g., accept or reject) may be used to update the profilethereby improving the intelligence and accuracy of the profile inanalyzing the message/document for appropriate word usage as discussedfurther below.

In step 308, analyzer 112 determines whether a geographical areaassociated with the recipients was obtained. For example, the user(e.g., user of client device 101A) may provide the geographical area(e.g., London) of the recipients. In another example, analyzer 112 mayobtain the geographical area associated with the recipients based on thecountry code (e.g., “GB” for “Great Britain”) contained in the address(e.g., e-mail address) of the recipients. If analyzer 112 obtains ageographical area associated with the recipients, then analyzer 112analyzes the content of the message or document using the profile(retrieved in step 306 or received in step 305) in light of thegeographical area of the recipients as discussed further below.

In step 309, analyzer 112 determines whether a culture associated withthe recipients was obtained. For example, the user (e.g., user of clientdevice 101A) may provide the culture (e.g., Japanese) of the recipients.In another example, analyzer 112 may obtain the culture associated withthe recipients based on the country code (e.g., “JP” for Japan”)contained in the address (e.g., e-mail address) of the recipients. Ifanalyzer 112 obtains a culture associated with the recipients, thenanalyzer 112 analyzes the content of the message or document using theprofile (retrieved in step 306 or received in step 305) in light of theculture of the recipients as discussed further below.

In step 310, analyzer 112 analyzes the content of the message ordocument using the retrieved or received profile and possibly further inlight of the context of the original message or document (if the messageor document to be sent to the recipients is in response to a receivedmessage or document) and/or geographical area of the recipients (if thegeographical area of the recipients was obtained) and/or culture of therecipients (if the culture of the recipients was obtained). In thismanner, the author of the message or document is able to assess thecontent and context of the message/document based on the intendedrecipients prior to sending the message/document thereby reducing thelikelihood that the recipients will interpret the message/document in anuntoward manner.

Referring now to FIG. 3B, in conjunction with FIGS. 1-2, in step 311, adetermination is made by analyzer 112 as to whether any words, phrases,sentences or images in the message or document are identified as beingpotentially misunderstood or offensive to the recipients. For example,in the sentence “This is the meat and potatoes of the proposal,” thephrase “meat and potatoes” may be flagged as potentially beingmisunderstood. A suggested alternative provided by analyzer 112 to thephrase “meat and potatoes” may be “real detail” so that the sentencewould now read “This is the real detail of the proposal.” In anotherexample, in the sentence “We need to beef up the development budget,”the phrase “beef up” may be flagged as a cow may be considered to asacred animal in certain cultures. As a result, analyzer 112 may suggestreplacing the phrase “beef up” with the term “increase” therebyrewriting the sentence to “We need to increase the development budget.”In another example, the phrase “real bucks” in the sentence “Let's talkabout real bucks” may be flagged as potentially being misunderstood. Asa result, analyzer 112 may suggest replacing the phrase “real bucks”with the phrase “the money part” so that the sentence would now read“Let's talk about the money part.” In a further example, the sentence“Why don't you do it?” may be flagged in a document used for anexecutive or boss as such language may not be deemed to be appropriatein a work relationship. As a result, analyzer 112 may suggest rewritingthe sentence as “Can you please take care of it?” In an additionalexample, the term “subway” may be flagged as not being the mosteffective way with communicating with someone in London as the subway inLondon is commonly referred to as the “Tube” in London. As a result,analyzer 112 may suggest replacing the term “subway” with the term“Tube.”

If there are no words, phrases, sentences or images in the message ordocument that are identified as being potentially misunderstood oroffensive to the recipients, then, in step 312, analyzer 112 sends themessage or document without any suggested corrections to the intendedrecipients.

However, if there are words, phrases, sentences or images in the messageor document that are identified as being potentially misunderstood oroffensive to the recipients, then, in step 313, analyzer 112 providessuggestions to the user of client device 101 (i.e., the author of themessage or document) to modify the words, phrases, sentences or imagesin the message or document that are identified as being potentiallymisunderstood or offensive to the recipients as discussed above.

In step 314, analyzer 112 receives a response from the user (i.e., theauthor of the message or document) to accept or reject thesesuggestions.

In step 315, analyzer 112 modifies the message or document based on theresponses received from the user. For example, if the user accepted thesuggestion of replacing the term “subway” with the term “Tube,” thenanalyzer 112 modifies the message or document accordingly.

In step 316, analyzer 112 updates the profile to reflect the user'sresponse thereby allowing the profile to grow in intelligence andaccuracy as discussed above.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

The invention claimed is:
 1. A computer program product for assistingauthors in composing suitable messages or documents for intendedrecipients, the computer program product comprising a computer readablestorage medium having program code embodied therewith, the program codecomprising the programming instructions for: identifying one or morerecipients to receive a message or document; obtaining a profile to beused in analyzing said message or document to be sent to said one ormore recipients, wherein said profile comprises a set of corrections andcorrelations to be applied to said message or document; analyzingcontent of said message or document using said obtained profile;identifying one or more words, phrases, sentences or images in saidmessage or document that are potentially misunderstood or offensive tosaid one or more recipients; and providing one or more suggestions tomodify said identified one or more words, phrases, sentences or imagesin said message or document to no longer be misunderstood or offensiveto said one or more recipients.
 2. The computer program product asrecited in claim 1, wherein the program code further comprises theprogramming instructions for: obtaining a role of said one or morerecipients; retrieving said profile associated with said role to be usedin analyzing said message or document to be sent to said one or morerecipients.
 3. The computer program product as recited in claim 1,wherein the program code further comprises the programming instructionsfor: determining whether said message or document is in response to areceived message or document; and analyzing said content of said messageor document using said obtained profile and in light of a context ofsaid received message or document in response to said message ordocument being in response to said received message or document.
 4. Thecomputer program product as recited in claim 1, wherein the program codefurther comprises the programming instructions for: determining whethera geographical area associated with said one or more recipients isobtained; and analyzing said content of said message or document usingsaid obtained profile and in light of said geographical area associatedwith said one or more recipients in response to obtaining saidgeographical area associated with said one or more recipients.
 5. Thecomputer program product as recited in claim 1, wherein the program codefurther comprises the programming instructions for: determining whethera culture associated with said one or more recipients is obtained; andanalyzing said content of said message or document using said obtainedprofile and in light of said culture associated with said one or morerecipients in response to obtaining said culture associated with saidone or more recipients.
 6. The computer program product as recited inclaim 1, wherein the program code further comprises the programminginstructions for: receiving a response from an author of said message ordocument to accept or reject said one or more suggestions; and modifyingsaid message or document based on said response from said author.
 7. Thecomputer program product as recited in claim 6, wherein the program codefurther comprises the programming instructions for: updating saidprofile to reflect said author's response.
 8. A system, comprising: amemory unit for storing a computer program for assisting authors incomposing suitable messages or documents for intended recipients; and aprocessor coupled to the memory unit, wherein the processor isconfigured to execute the program instructions of the computer programcomprising: identifying one or more recipients to receive a message ordocument; obtaining a profile to be used in analyzing said message ordocument to be sent to said one or more recipients, wherein said profilecomprises a set of corrections and correlations to be applied to saidmessage or document; analyzing content of said message or document usingsaid obtained profile; identifying one or more words, phrases, sentencesor images in said message or document that are potentially misunderstoodor offensive to said one or more recipients; and providing one or moresuggestions to modify said identified one or more words, phrases,sentences or images in said message or document to no longer bemisunderstood or offensive to said one or more recipients.
 9. The systemas recited in claim 8, wherein the program instructions of the computerprogram further comprises: determining whether said message or documentis in response to a received message or document; and analyzing saidcontent of said message or document using said obtained profile and inlight of a context of said received message or document in response tosaid message or document being in response to said received message ordocument.
 10. The system as recited in claim 8, wherein the programinstructions of the computer program further comprises: determiningwhether a geographical area associated with said one or more recipientsis obtained; and analyzing said content of said message or documentusing said obtained profile and in light of said geographical areaassociated with said one or more recipients in response to obtainingsaid geographical area associated with said one or more recipients. 11.The system as recited in claim 8, wherein the program instructions ofthe computer program further comprises: determining whether a cultureassociated with said one or more recipients is obtained; and analyzingsaid content of said message or document using said obtained profile andin light of said culture associated with said one or more recipients inresponse to obtaining said culture associated with said one or morerecipients.
 12. The system as recited in claim 8, wherein the programinstructions of the computer program further comprises: receiving aresponse from an author of said message or document to accept or rejectsaid one or more suggestions; and modifying said message or documentbased on said response from said author.
 13. The system as recited inclaim 12, wherein the program instructions of the computer programfurther comprises: updating said profile to reflect said author'sresponse.
 14. The system as recited in claim 8, wherein the programinstructions of the computer program further comprises: obtaining a roleof said one or more recipients; retrieving said profile associated withsaid role to be used in analyzing said message or document to be sent tosaid one or more recipients.